import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int numRows = scanner.nextInt();
        ArrayList<ArrayList<Integer>> result = new ArrayList<>();
        ArrayList<Integer> arrayList1 = new ArrayList<>();
        arrayList1.add(1);
        result.add(arrayList1);
        for (int i = 1; i < numRows; i++) {
            ArrayList<Integer> curRow = new ArrayList<>();
            curRow.add(1);
            ArrayList<Integer> preRow = result.get(i - 1);
            for (int j = 1; j < i; j++) {
                int val = preRow.get(j - 1) + preRow.get(j);
                curRow.add(val);
            }
            curRow.add(1);
            result.add(curRow);
        }
        System.out.println(result);
    }
    public static void main6(String[] args) {
        ArrayList<Integer> arrayList=new ArrayList<>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add(4);
        arrayList.add(5);
        ListIterator<Integer> listIterator=arrayList.listIterator(arrayList.size());
        while (listIterator.hasPrevious()){
            System.out.print(listIterator.previous()+" ");
        }
    }
    public static void main5(String[] args) {
        ArrayList<Integer> arrayList=new ArrayList<>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add(4);
        arrayList.add(5);
        ListIterator<Integer> listIterator=arrayList.listIterator();
        while (listIterator.hasNext()){
            System.out.print(listIterator.next()+" ");
        }
        System.out.println();
        System.out.println("========================");
        ListIterator<Integer> listIterator1=arrayList.listIterator(1);//下标1的位置开始遍历
        while (listIterator1.hasNext()){
            System.out.print(listIterator1.next()+" ");
        }
    }
    public static void main4(String[] args) {
        ArrayList<Integer> arrayList=new ArrayList<>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add(4);
        arrayList.add(5);
        Iterator<Integer> iterator= arrayList.iterator();
        while(iterator.hasNext()){
            System.out.print(iterator.next()+" ");
        }
    }
    public static void main3(String[] args) {
        ArrayList<Integer> arrayList=new ArrayList<>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add(4);
        arrayList.add(5);
        for (Integer x:arrayList) {
            System.out.print(x+" ");
        }
    }
    public static void main2(String[] args) {
        ArrayList<Integer> arrayList=new ArrayList<>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add(4);
        arrayList.add(5);
        for (int i = 0; i <arrayList.size() ; i++) {
            System.out.print(arrayList.get(i)+" ");
        }
    }
    public static void main1(String[] args) {
        ArrayList<Integer> arrayList=new ArrayList<>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add(4);
        arrayList.add(5);
        System.out.println(arrayList);
    }
}
